.equ LOCALID_SELPHY, 1
.equ LOCALID_BUTLER, 2

.equ SHOWN_REQUESTED_MON, FLAG_TEMP_2

FiveIsland_ResortGorgeous_House_MapScripts:: @ 8171EBD
@	.byte 0

FiveIsland_ResortGorgeous_House_EventScript_Selphy:: @ 8171EBE
@	goto_if_questlog EventScript_ReleaseEnd
@	special QuestLog_CutRecording
@	lock
@	faceplayer
@	goto_if_set SHOWN_REQUESTED_MON, FiveIsland_ResortGorgeous_House_EventScript_JustFulfilledRequest
@	compare VAR_RESORT_GORGEOUS_REQUESTED_MON, 0xFFFF
@	goto_if_eq FiveIsland_ResortGorgeous_House_EventScript_RequestTookTooLong
@	compare VAR_RESORT_GORGEOUS_REQUESTED_MON, SPECIES_NONE
@	goto_if_ne FiveIsland_ResortGorgeous_House_EventScript_CheckForRequestedMon
@	msgbox FiveIsland_ResortGorgeous_House_Text_PleaseHearMyWish
@	goto FiveIsland_ResortGorgeous_House_EventScript_RequestMon
	end

FiveIsland_ResortGorgeous_House_EventScript_RequestMon:: @ 8171EFE
@	special SampleResortGorgeousMonAndReward
@	msgbox FiveIsland_ResortGorgeous_House_Text_WishToSeeMonPlease
@	release
	end

FiveIsland_ResortGorgeous_House_EventScript_RequestTookTooLong:: @ 8171F0B
@	msgbox FiveIsland_ResortGorgeous_House_Text_OhImTiredOfWaiting
@	goto FiveIsland_ResortGorgeous_House_EventScript_RequestMon
	end

FiveIsland_ResortGorgeous_House_EventScript_CheckForRequestedMon:: @ 8171F19
@	copyvar VAR_0x8004, VAR_RESORT_GORGEOUS_REQUESTED_MON
@	specialvar VAR_RESULT, DoesPlayerPartyContainSpecies
@	compare VAR_RESULT, TRUE
@	goto_if_eq FiveIsland_ResortGorgeous_House_EventScript_ShowRequestedMon
@	goto FiveIsland_ResortGorgeous_House_EventScript_RequestMon
	end

FiveIsland_ResortGorgeous_House_EventScript_ShowRequestedMon:: @ 8171F34
@	special SampleResortGorgeousMonAndReward
@	msgbox FiveIsland_ResortGorgeous_House_Text_MonYouCaughtForMeThankYou
@	addobject LOCALID_BUTLER
@	applymovement LOCALID_BUTLER, FiveIsland_ResortGorgeous_House_Movement_ButlerEnter
@	waitmovement 0
@	textcolor 0
@	msgbox FiveIsland_ResortGorgeous_House_Text_ButlerYesMyLady
@	applymovement LOCALID_SELPHY, Movement_WalkInPlaceFastestUp
@	waitmovement 0
@	textcolor 1
@	msgbox FiveIsland_ResortGorgeous_House_Text_SelphyGiveTokenOfAppreciation
@	textcolor 0
@	msgbox FiveIsland_ResortGorgeous_House_Text_ButlerIShallDoAsYouBid
@	closemessage
@	compare VAR_FACING, DIR_NORTH
@	call_if_eq FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerNorth
@	compare VAR_FACING, DIR_SOUTH
@	call_if_eq FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerSouth
@	compare VAR_FACING, DIR_EAST
@	call_if_eq FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerEast
@	compare VAR_FACING, DIR_WEST
@	call_if_eq FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerWest
@	moveobjectoffscreen LOCALID_BUTLER
@	msgbox FiveIsland_ResortGorgeous_House_Text_ButlerPleaseAcceptThisAsHerThanks
@	giveitem VAR_RESORT_GORGEOUS_REWARD
@	compare VAR_RESULT, FALSE
@	goto_if_eq FiveIsland_ResortGorgeous_House_EventScript_NoRoomForReward
@	setflag SHOWN_REQUESTED_MON
@	setvar VAR_RESORT_GORGEOUS_REQUESTED_MON, SPECIES_NONE
@	release
	end

FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerNorth:: @ 8171FCD
@	applymovement LOCALID_SELPHY, Movement_WalkInPlaceFastestDown
@	applymovement LOCALID_BUTLER, FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerNorth
@	waitmovement 0
@	applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft
@	waitmovement 0
@	return

FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerSouth:: @ 8171FE9
@	applymovement LOCALID_BUTLER, FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerSouth
@	waitmovement 0
@	applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp
@	waitmovement 0
@	return

FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerEast:: @ 8171FFE
@	applymovement LOCALID_SELPHY, Movement_WalkInPlaceFastestLeft
@	applymovement LOCALID_BUTLER, FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerEast
@	waitmovement 0
@	applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp
@	waitmovement 0
@	return

FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerWest:: @ 817201A
@	applymovement LOCALID_BUTLER, FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerWest
@	waitmovement 0
@	return

FiveIsland_ResortGorgeous_House_EventScript_NoRoomForReward:: @ 8172025
@	textcolor 0
@	msgbox FiveIsland_ResortGorgeous_House_Text_ButlerBagAppearsToBeFull
@	textcolor 1
@	msgbox FiveIsland_ResortGorgeous_House_Text_OhHowDisappointing
@	setflag SHOWN_REQUESTED_MON
@	setvar VAR_RESORT_GORGEOUS_REQUESTED_MON, SPECIES_NONE
@	release
	end

FiveIsland_ResortGorgeous_House_EventScript_JustFulfilledRequest:: @ 8172043
@	msgbox FiveIsland_ResortGorgeous_House_Text_SelphyWishYouBestOfLuck
@	release
	end

FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerNorth:: @ 817204D
@	walk_left
@	walk_left
@	walk_left
@	walk_down
@	walk_down
@	walk_down
@	walk_in_place_fastest_right
@	step_end

FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerSouth:: @ 8172055
@	walk_left
@	walk_left
@	walk_in_place_fastest_down
@	step_end

FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerEast:: @ 8172059
@	walk_left
@	walk_left
@	walk_left
@	walk_down
@	step_end

@ Very odd. If the player is talking to Selphy facing West, then the player has clipped through the table
@ In this case rather than approach the player the Butler walks up, which clips the Butler into a wall
FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerWest:: @ 817205E
@	walk_up
@	step_end

FiveIsland_ResortGorgeous_House_Movement_ButlerEnter:: @ 8172060
@	walk_in_place_down
@	step_end

@ Addressed as "Sebastian" but speaks only as "Butler"
FiveIsland_ResortGorgeous_House_EventScript_Butler:: @ 8172062
@	msgbox FiveIsland_ResortGorgeous_House_Text_LadySelphySmileHasBrillianceOfSun, MSGBOX_NPC
	end
